home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2007 December / PCWKCD1207B.iso / Blogowanie poza sfera / Flock 0.9.1.3 stable / flock-0.9.1.3.en-US.win32.exe / flock / chrome / browser.jar / content / browser / preferences / fonts.js < prev    next >
Text File  |  2006-07-18  |  5KB  |  123 lines

  1. //@line 39 "/cygdrive/K/tinderbuild/src/flock/mozilla/browser/components/preferences/fonts.js"
  2.  
  3. //@line 41 "/cygdrive/K/tinderbuild/src/flock/mozilla/browser/components/preferences/fonts.js"
  4.  
  5. const kDefaultFontType          = "font.default.%LANG%";
  6. const kFontNameFmtSerif         = "font.name.serif.%LANG%";
  7. const kFontNameFmtSansSerif     = "font.name.sans-serif.%LANG%";
  8. const kFontNameFmtMonospace     = "font.name.monospace.%LANG%";
  9. const kFontNameListFmtSerif     = "font.name-list.serif.%LANG%";
  10. const kFontNameListFmtSansSerif = "font.name-list.sans-serif.%LANG%";
  11. const kFontNameListFmtMonospace = "font.name-list.monospace.%LANG%";
  12. const kFontSizeFmtVariable      = "font.size.variable.%LANG%";
  13. const kFontSizeFmtFixed         = "font.size.fixed.%LANG%";
  14. const kFontMinSizeFmt           = "font.minimum-size.%LANG%";
  15.  
  16. var gFontsDialog = {
  17.   _selectLanguageGroup: function (aLanguageGroup)
  18.   {
  19.     var prefs = [{ format: kDefaultFontType,          type: "string", element: "defaultFontType", fonttype: null},
  20.                  { format: kFontNameFmtSerif,         type: "unichar", element: "serif",      fonttype: "serif"       },
  21.                  { format: kFontNameFmtSansSerif,     type: "unichar", element: "sans-serif", fonttype: "sans-serif"  },
  22.                  { format: kFontNameFmtMonospace,     type: "unichar", element: "monospace",  fonttype: "monospace"   },
  23.                  { format: kFontNameListFmtSerif,     type: "unichar", element: null,         fonttype: "serif"       },
  24.                  { format: kFontNameListFmtSansSerif, type: "unichar", element: null,         fonttype: "sans-serif"  },
  25.                  { format: kFontNameListFmtMonospace, type: "unichar", element: null,         fonttype: "monospace"   },
  26.                  { format: kFontSizeFmtVariable,      type: "int",     element: "sizeVar",    fonttype: null          },
  27.                  { format: kFontSizeFmtFixed,         type: "int",     element: "sizeMono",   fonttype: null          },
  28.                  { format: kFontMinSizeFmt,           type: "int",     element: "minSize",    fonttype: null          }];
  29.     var preferences = document.getElementById("fontPreferences");
  30.     for (var i = 0; i < prefs.length; ++i) {
  31.       var preference = document.getElementById(prefs[i].format.replace(/%LANG%/, aLanguageGroup));
  32.       if (!preference) {
  33.         preference = document.createElement("preference");
  34.         var name = prefs[i].format.replace(/%LANG%/, aLanguageGroup);
  35.         preference.id = name;
  36.         preference.setAttribute("name", name);
  37.         preference.setAttribute("type", prefs[i].type);
  38.         preferences.appendChild(preference);
  39.       }
  40.       
  41.       if (!prefs[i].element)
  42.         continue;
  43.         
  44.       var element = document.getElementById(prefs[i].element);
  45.       if (element) {
  46.         element.setAttribute("preference", preference.id);
  47.       
  48.         if (prefs[i].fonttype)
  49.           FontBuilder.buildFontList(aLanguageGroup, prefs[i].fonttype, element);
  50.  
  51.         preference.setElementValue(element);
  52.       }
  53.     }
  54.   },
  55.   
  56.   readFontLanguageGroup: function ()
  57.   {
  58.     var languagePref = document.getElementById("font.language.group");
  59.     this._selectLanguageGroup(languagePref.value);
  60.     return undefined;
  61.   },
  62.   
  63.   readFontSelection: function (aElement)
  64.   {
  65.     // Determine the appropriate value to select, for the following cases:
  66.     // - there is no setting 
  67.     // - the font selected by the user is no longer present (e.g. deleted from
  68.     //   fonts folder)
  69.     var preference = document.getElementById(aElement.getAttribute("preference"));
  70.     if (preference.value) {
  71.       var fontItems = aElement.getElementsByAttribute("value", preference.value);
  72.     
  73.       // There is a setting that actually is in the list. Respect it.
  74.       if (fontItems.length > 0)
  75.         return undefined;
  76.     }
  77.     
  78.     var defaultValue = aElement.firstChild.firstChild.getAttribute("value");
  79.     var languagePref = document.getElementById("font.language.group");
  80.     preference = document.getElementById("font.name-list." + aElement.id + "." + languagePref.value);
  81.     if (!preference || !preference.hasUserValue)
  82.       return defaultValue;
  83.     
  84.     var fontNames = preference.value.split(",");
  85.     var stripWhitespace = /^\s*(.*)\s*$/;
  86.     
  87.     for (var i = 0; i < fontNames.length; ++i) {
  88.       var fontName = fontNames[i].replace(stripWhitespace, "$1");
  89.       fontItems = aElement.getElementsByAttribute("value", fontName);
  90.       if (fontItems.length)
  91.         break;
  92.     }
  93.     if (fontItems.length)
  94.       return fontItems[0].getAttribute("value");
  95.     return defaultValue;
  96.   },
  97.   
  98.   _charsetMenuInitialized: false,
  99.   readDefaultCharset: function ()
  100.   {
  101.     if (!this._charsetMenuInitialized) {
  102.       var os = Components.classes["@mozilla.org/observer-service;1"]
  103.                          .getService(Components.interfaces.nsIObserverService);
  104.       os.notifyObservers(null, "charsetmenu-selected", "other");
  105.       this._charsetMenuInitialized = true;
  106.     }
  107.     return undefined;
  108.   },
  109.   
  110.   readUseDocumentFonts: function ()
  111.   {
  112.     var preference = document.getElementById("browser.display.use_document_fonts");
  113.     return preference.value == 1;
  114.   },
  115.   
  116.   writeUseDocumentFonts: function ()
  117.   {
  118.     var useDocumentFonts = document.getElementById("useDocumentFonts");
  119.     return useDocumentFonts.checked ? 1 : 0;
  120.   }
  121. };
  122.  
  123.